﻿/**
   Данный игровой объект является компесатором для дыхания аквалангиста, и подъема на поверхность
 */

(function () {
    "use strict";

    F.OxygenTank = function (container, environment) {
        var self = this;
        F.OxygenTank.superclass.constructor.apply(self, [container, environment]);
        self.fillingRate = 3000;//Максимальная скорость приема кислорода
        self.maxCapacity = 20000;//20 литров
        self.currentCapacity = 20000;//Изначально наполенны
    };

    extend(F.OxygenTank, F.Shape);

    var otp = F.OxygenTank.prototype;

    otp.fillOxygen = function (oxygen, dt) {
        var self = this;
        var incOxygen = Math.min(self.fillingRate * dt, oxygen); //Балон может принять не больше своей способности принимать
        self.currentCapacity += incOxygen;
        self.currentCapacity = Math.min(self.maxCapacity, self.currentCapacity);
    };

    otp.isFull = function () {
        var self = this;
        return self.currentCapacity >= self.maxCapacity;
    };

    otp.getOxygen = function(oxygen){
        var self = this;
        self.currentCapacity -= oxygen;
        self.currentCapacity = Math.max(self.currentCapacity, 0);
        return oxygen;
    }

    otp.getCurrentCapacity = function(){
        var self = this;
        return self.currentCapacity;
    }

    otp = null;

} ());